
;; Function em (em, funcdef_no=6, decl_uid=2856, cgraph_uid=7, symbol_order=6)

void em ()
{
;;   basic block 2, loop depth 0
;;    pred:       ENTRY
  return;
;;    succ:       EXIT

}



Partition map 



Coalescible Partition map 


After Coalescing:

Partition map 


void em ()
{
;;   basic block 2, loop depth 0
;;    pred:       ENTRY
  return;
;;    succ:       EXIT

}



;; Generating RTL for gimple basic block 2


try_optimize_cfg iteration 1

Merging block 3 into block 2...
Merged blocks 2 and 3.
Merged 2 and 3 without moving.
Merging block 4 into block 2...
Merged blocks 2 and 4.
Merged 2 and 4 without moving.


try_optimize_cfg iteration 2

fix_loop_structure: fixing up loops for function


;;
;; Full RTL generated for this function:
;;
(note 1 0 3 NOTE_INSN_DELETED)
;; basic block 2, loop depth 0, maybe hot
;;  prev block 0, next block 1, flags: (NEW, REACHABLE, RTL)
;;  pred:       ENTRY (FALLTHRU)
(note 3 1 2 2 [bb 2] NOTE_INSN_BASIC_BLOCK)
(note 2 3 0 2 NOTE_INSN_FUNCTION_BEG)
;;  succ:       EXIT [always]  (FALLTHRU)


;; Function em2 (em2, funcdef_no=7, decl_uid=2859, cgraph_uid=8, symbol_order=7)

void em2 ()
{
;;   basic block 2, loop depth 0
;;    pred:       ENTRY
  return;
;;    succ:       EXIT

}



Partition map 



Coalescible Partition map 


After Coalescing:

Partition map 


void em2 ()
{
;;   basic block 2, loop depth 0
;;    pred:       ENTRY
  return;
;;    succ:       EXIT

}



;; Generating RTL for gimple basic block 2


try_optimize_cfg iteration 1

Merging block 3 into block 2...
Merged blocks 2 and 3.
Merged 2 and 3 without moving.
Merging block 4 into block 2...
Merged blocks 2 and 4.
Merged 2 and 4 without moving.


try_optimize_cfg iteration 2

fix_loop_structure: fixing up loops for function


;;
;; Full RTL generated for this function:
;;
(note 1 0 3 NOTE_INSN_DELETED)
;; basic block 2, loop depth 0, maybe hot
;;  prev block 0, next block 1, flags: (NEW, REACHABLE, RTL)
;;  pred:       ENTRY (FALLTHRU)
(note 3 1 2 2 [bb 2] NOTE_INSN_BASIC_BLOCK)
(note 2 3 0 2 NOTE_INSN_FUNCTION_BEG)
;;  succ:       EXIT [always]  (FALLTHRU)


;; Function f1 (f1, funcdef_no=8, decl_uid=2862, cgraph_uid=9, symbol_order=8)

int f1 (int a)
{
  int D.2884;
  int _5;

;;   basic block 2, loop depth 0
;;    pred:       ENTRY
  em ();
  em2 ();
  _5 = a_4(D);
;;    succ:       3

;;   basic block 3, loop depth 0
;;    pred:       2
<L0>:
  return _5;
;;    succ:       EXIT

}



Partition map 

Partition 4 (a_4(D) - 4 )
Partition 5 (_5 - 5 )
Partition 6 (_6(D) - 6 )


Coalescible Partition map 

Partition 0, base 0 (a_4(D) - 4 )
Partition 1, base 1 (_6(D) - 6 )


Partition map 

Partition 0 (a_4(D) - 4 )
Partition 1 (_6(D) - 6 )


Conflict graph:

After sorting:
Coalesce List:

Partition map 

Partition 0 (a_4(D) - 4 )
Partition 1 (_6(D) - 6 )

After Coalescing:

Partition map 

Partition 0 (a_4(D) - 4 )
Partition 1 (_5 - 5 )
Partition 2 (_6(D) - 6 )

int f1 (int a)
{
  int D.2884;
  int _5;
  int _6(D);

;;   basic block 2, loop depth 0
;;    pred:       ENTRY
  em ();
  em2 ();
  _5 = a_4(D);
;;    succ:       3

;;   basic block 3, loop depth 0
;;    pred:       2
<L0>:
  return _5;
;;    succ:       EXIT

}



;; Generating RTL for gimple basic block 2

;; em ();

(call_insn 6 5 0 (call (mem:QI (symbol_ref:DI ("em") [flags 0x3]  <function_decl 0x7f9514e17a00 em>) [0 em S1 A8])
        (const_int 0 [0])) "test.c":9:2 -1
     (nil)
    (nil))

;; em2 ();

(call_insn 7 6 0 (call (mem:QI (symbol_ref:DI ("em2") [flags 0x3]  <function_decl 0x7f9514e17c00 em2>) [0 em2 S1 A8])
        (const_int 0 [0])) "test.c":10:1 -1
     (nil)
    (nil))

;; _5 = a_4(D);

(insn 8 7 0 (set (reg:SI 82 [ _5 ])
        (mem/c:SI (plus:DI (reg/f:DI 77 virtual-stack-vars)
                (const_int -4 [0xfffffffffffffffc])) [1 a+0 S4 A32])) "test.c":11:12 -1
     (nil))

;; Generating RTL for gimple basic block 3

;; <L0>:

(code_label 9 8 10 4 (nil) [0 uses])

(note 10 9 0 NOTE_INSN_BASIC_BLOCK)

;; return _5;

(insn 11 10 12 (set (reg:SI 83 [ <retval> ])
        (reg:SI 82 [ _5 ])) "test.c":11:12 -1
     (nil))

(jump_insn 12 11 13 (set (pc)
        (label_ref 0)) "test.c":11:12 -1
     (nil))

(barrier 13 12 0)


try_optimize_cfg iteration 1

Merging block 3 into block 2...
Merged blocks 2 and 3.
Merged 2 and 3 without moving.
Merging block 4 into block 2...
Merged blocks 2 and 4.
Merged 2 and 4 without moving.
Removing jump 12.
Merging block 5 into block 2...
Merged blocks 2 and 5.
Merged 2 and 5 without moving.


try_optimize_cfg iteration 2

fix_loop_structure: fixing up loops for function


;;
;; Full RTL generated for this function:
;;
(note 1 0 4 NOTE_INSN_DELETED)
;; basic block 2, loop depth 0, maybe hot
;;  prev block 0, next block 1, flags: (NEW, REACHABLE, RTL)
;;  pred:       ENTRY (FALLTHRU)
(note 4 1 2 2 [bb 2] NOTE_INSN_BASIC_BLOCK)
(insn 2 4 3 2 (set (mem/c:SI (plus:DI (reg/f:DI 77 virtual-stack-vars)
                (const_int -4 [0xfffffffffffffffc])) [1 a+0 S4 A32])
        (reg:SI 5 di [ a ])) "test.c":8:1 -1
     (nil))
(note 3 2 6 2 NOTE_INSN_FUNCTION_BEG)
(call_insn 6 3 7 2 (call (mem:QI (symbol_ref:DI ("em") [flags 0x3]  <function_decl 0x7f9514e17a00 em>) [0 em S1 A8])
        (const_int 0 [0])) "test.c":9:2 -1
     (nil)
    (nil))
(call_insn 7 6 8 2 (call (mem:QI (symbol_ref:DI ("em2") [flags 0x3]  <function_decl 0x7f9514e17c00 em2>) [0 em2 S1 A8])
        (const_int 0 [0])) "test.c":10:1 -1
     (nil)
    (nil))
(insn 8 7 11 2 (set (reg:SI 82 [ _5 ])
        (mem/c:SI (plus:DI (reg/f:DI 77 virtual-stack-vars)
                (const_int -4 [0xfffffffffffffffc])) [1 a+0 S4 A32])) "test.c":11:12 -1
     (nil))
(insn 11 8 15 2 (set (reg:SI 83 [ <retval> ])
        (reg:SI 82 [ _5 ])) "test.c":11:12 -1
     (nil))
(insn 15 11 16 2 (set (reg/i:SI 0 ax)
        (reg:SI 83 [ <retval> ])) "test.c":12:1 -1
     (nil))
(insn 16 15 0 2 (use (reg/i:SI 0 ax)) "test.c":12:1 -1
     (nil))
;;  succ:       EXIT [always]  (FALLTHRU)


;; Function f2 (f2, funcdef_no=9, decl_uid=2866, cgraph_uid=10, symbol_order=9)

int f2 (int a, int b)
{
  int D.2886;
  int _3;

;;   basic block 2, loop depth 0
;;    pred:       ENTRY
  _3 = a_1(D) + b_2(D);
;;    succ:       3

;;   basic block 3, loop depth 0
;;    pred:       2
<L0>:
  return _3;
;;    succ:       EXIT

}



Partition map 

Partition 1 (a_1(D) - 1 )
Partition 2 (b_2(D) - 2 )
Partition 3 (_3 - 3 )
Partition 5 (_5(D) - 5 )


Coalescible Partition map 

Partition 0, base 0 (a_1(D) - 1 )
Partition 1, base 1 (b_2(D) - 2 )
Partition 2, base 2 (_5(D) - 5 )


Partition map 

Partition 0 (a_1(D) - 1 )
Partition 1 (b_2(D) - 2 )
Partition 2 (_5(D) - 5 )


Conflict graph:

After sorting:
Coalesce List:

Partition map 

Partition 0 (a_1(D) - 1 )
Partition 1 (b_2(D) - 2 )
Partition 2 (_5(D) - 5 )

After Coalescing:

Partition map 

Partition 0 (a_1(D) - 1 )
Partition 1 (b_2(D) - 2 )
Partition 2 (_3 - 3 )
Partition 3 (_5(D) - 5 )

int f2 (int a, int b)
{
  int D.2886;
  int _3;
  int _5(D);

;;   basic block 2, loop depth 0
;;    pred:       ENTRY
  _3 = a_1(D) + b_2(D);
;;    succ:       3

;;   basic block 3, loop depth 0
;;    pred:       2
<L0>:
  return _3;
;;    succ:       EXIT

}



;; Generating RTL for gimple basic block 2

;; _3 = a_1(D) + b_2(D);

(insn 7 6 8 (set (reg:SI 84)
        (mem/c:SI (plus:DI (reg/f:DI 77 virtual-stack-vars)
                (const_int -4 [0xfffffffffffffffc])) [1 a+0 S4 A32])) "test.c":16:13 -1
     (nil))

(insn 8 7 9 (set (reg:SI 85)
        (mem/c:SI (plus:DI (reg/f:DI 77 virtual-stack-vars)
                (const_int -8 [0xfffffffffffffff8])) [1 b+0 S4 A32])) "test.c":16:13 -1
     (nil))

(insn 9 8 0 (parallel [
            (set (reg:SI 82 [ _3 ])
                (plus:SI (reg:SI 84)
                    (reg:SI 85)))
            (clobber (reg:CC 17 flags))
        ]) "test.c":16:13 -1
     (expr_list:REG_EQUAL (plus:SI (mem/c:SI (plus:DI (reg/f:DI 77 virtual-stack-vars)
                    (const_int -4 [0xfffffffffffffffc])) [1 a+0 S4 A32])
            (mem/c:SI (plus:DI (reg/f:DI 77 virtual-stack-vars)
                    (const_int -8 [0xfffffffffffffff8])) [1 b+0 S4 A32]))
        (nil)))

;; Generating RTL for gimple basic block 3

;; <L0>:

(code_label 10 9 11 6 (nil) [0 uses])

(note 11 10 0 NOTE_INSN_BASIC_BLOCK)

;; return _3;

(insn 12 11 13 (set (reg:SI 83 [ <retval> ])
        (reg:SI 82 [ _3 ])) "test.c":16:13 -1
     (nil))

(jump_insn 13 12 14 (set (pc)
        (label_ref 0)) "test.c":16:13 -1
     (nil))

(barrier 14 13 0)


try_optimize_cfg iteration 1

Merging block 3 into block 2...
Merged blocks 2 and 3.
Merged 2 and 3 without moving.
Merging block 4 into block 2...
Merged blocks 2 and 4.
Merged 2 and 4 without moving.
Removing jump 13.
Merging block 5 into block 2...
Merged blocks 2 and 5.
Merged 2 and 5 without moving.


try_optimize_cfg iteration 2

fix_loop_structure: fixing up loops for function


;;
;; Full RTL generated for this function:
;;
(note 1 0 5 NOTE_INSN_DELETED)
;; basic block 2, loop depth 0, maybe hot
;;  prev block 0, next block 1, flags: (NEW, REACHABLE, RTL)
;;  pred:       ENTRY (FALLTHRU)
(note 5 1 2 2 [bb 2] NOTE_INSN_BASIC_BLOCK)
(insn 2 5 3 2 (set (mem/c:SI (plus:DI (reg/f:DI 77 virtual-stack-vars)
                (const_int -4 [0xfffffffffffffffc])) [1 a+0 S4 A32])
        (reg:SI 5 di [ a ])) "test.c":15:1 -1
     (nil))
(insn 3 2 4 2 (set (mem/c:SI (plus:DI (reg/f:DI 77 virtual-stack-vars)
                (const_int -8 [0xfffffffffffffff8])) [1 b+0 S4 A32])
        (reg:SI 4 si [ b ])) "test.c":15:1 -1
     (nil))
(note 4 3 7 2 NOTE_INSN_FUNCTION_BEG)
(insn 7 4 8 2 (set (reg:SI 84)
        (mem/c:SI (plus:DI (reg/f:DI 77 virtual-stack-vars)
                (const_int -4 [0xfffffffffffffffc])) [1 a+0 S4 A32])) "test.c":16:13 -1
     (nil))
(insn 8 7 9 2 (set (reg:SI 85)
        (mem/c:SI (plus:DI (reg/f:DI 77 virtual-stack-vars)
                (const_int -8 [0xfffffffffffffff8])) [1 b+0 S4 A32])) "test.c":16:13 -1
     (nil))
(insn 9 8 12 2 (parallel [
            (set (reg:SI 82 [ _3 ])
                (plus:SI (reg:SI 84)
                    (reg:SI 85)))
            (clobber (reg:CC 17 flags))
        ]) "test.c":16:13 -1
     (expr_list:REG_EQUAL (plus:SI (mem/c:SI (plus:DI (reg/f:DI 77 virtual-stack-vars)
                    (const_int -4 [0xfffffffffffffffc])) [1 a+0 S4 A32])
            (mem/c:SI (plus:DI (reg/f:DI 77 virtual-stack-vars)
                    (const_int -8 [0xfffffffffffffff8])) [1 b+0 S4 A32]))
        (nil)))
(insn 12 9 16 2 (set (reg:SI 83 [ <retval> ])
        (reg:SI 82 [ _3 ])) "test.c":16:13 -1
     (nil))
(insn 16 12 17 2 (set (reg/i:SI 0 ax)
        (reg:SI 83 [ <retval> ])) "test.c":17:1 -1
     (nil))
(insn 17 16 0 2 (use (reg/i:SI 0 ax)) "test.c":17:1 -1
     (nil))
;;  succ:       EXIT [always]  (FALLTHRU)


;; Function f3 (f3, funcdef_no=10, decl_uid=2871, cgraph_uid=11, symbol_order=10)

int f3 (int a, int b, int c)
{
  int y;
  int D.2888;
  int _1;
  int _2;
  int _9;

;;   basic block 2, loop depth 0
;;    pred:       ENTRY
  y_5 = a_3(D) + b_4(D);
  _1 = y_5 + c_6(D);
  _2 = f1 (7);
  _9 = _1 + _2;
;;    succ:       3

;;   basic block 3, loop depth 0
;;    pred:       2
<L0>:
  return _9;
;;    succ:       EXIT

}



Partition map 

Partition 1 (_1 - 1 )
Partition 2 (_2 - 2 )
Partition 3 (a_3(D) - 3 )
Partition 4 (b_4(D) - 4 )
Partition 5 (y_5 - 5 )
Partition 6 (c_6(D) - 6 )
Partition 9 (_9 - 9 )
Partition 10 (_10(D) - 10 )


Coalescible Partition map 

Partition 0, base 0 (a_3(D) - 3 )
Partition 1, base 1 (b_4(D) - 4 )
Partition 2, base 2 (c_6(D) - 6 )
Partition 3, base 3 (_10(D) - 10 )


Partition map 

Partition 0 (a_3(D) - 3 )
Partition 1 (b_4(D) - 4 )
Partition 2 (c_6(D) - 6 )
Partition 3 (_10(D) - 10 )


Conflict graph:

After sorting:
Coalesce List:

Partition map 

Partition 0 (a_3(D) - 3 )
Partition 1 (b_4(D) - 4 )
Partition 2 (c_6(D) - 6 )
Partition 3 (_10(D) - 10 )

After Coalescing:

Partition map 

Partition 0 (_1 - 1 )
Partition 1 (_2 - 2 )
Partition 2 (a_3(D) - 3 )
Partition 3 (b_4(D) - 4 )
Partition 4 (y_5 - 5 )
Partition 5 (c_6(D) - 6 )
Partition 6 (_9 - 9 )
Partition 7 (_10(D) - 10 )

int f3 (int a, int b, int c)
{
  int y;
  int D.2888;
  int _1;
  int _2;
  int _9;
  int _10(D);

;;   basic block 2, loop depth 0
;;    pred:       ENTRY
  y_5 = a_3(D) + b_4(D);
  _1 = y_5 + c_6(D);
  _2 = f1 (7);
  _9 = _1 + _2;
;;    succ:       3

;;   basic block 3, loop depth 0
;;    pred:       2
<L0>:
  return _9;
;;    succ:       EXIT

}



;; Generating RTL for gimple basic block 2

;; y_5 = a_3(D) + b_4(D);

(insn 12 7 13 (set (reg:SI 90)
        (mem/c:SI (plus:DI (reg/f:DI 77 virtual-stack-vars)
                (const_int -20 [0xffffffffffffffec])) [1 a+0 S4 A32])) "test.c":21:9 -1
     (nil))

(insn 13 12 14 (set (reg:SI 91)
        (mem/c:SI (plus:DI (reg/f:DI 77 virtual-stack-vars)
                (const_int -24 [0xffffffffffffffe8])) [1 b+0 S4 A32])) "test.c":21:9 -1
     (nil))

(insn 14 13 15 (parallel [
            (set (reg:SI 89)
                (plus:SI (reg:SI 90)
                    (reg:SI 91)))
            (clobber (reg:CC 17 flags))
        ]) "test.c":21:9 -1
     (expr_list:REG_EQUAL (plus:SI (mem/c:SI (plus:DI (reg/f:DI 77 virtual-stack-vars)
                    (const_int -20 [0xffffffffffffffec])) [1 a+0 S4 A32])
            (mem/c:SI (plus:DI (reg/f:DI 77 virtual-stack-vars)
                    (const_int -24 [0xffffffffffffffe8])) [1 b+0 S4 A32]))
        (nil)))

(insn 15 14 0 (set (mem/c:SI (plus:DI (reg/f:DI 77 virtual-stack-vars)
                (const_int -4 [0xfffffffffffffffc])) [1 y+0 S4 A32])
        (reg:SI 89)) "test.c":21:9 -1
     (nil))

;; _1 = y_5 + c_6(D);

(insn 16 15 17 (set (reg:SI 92)
        (mem/c:SI (plus:DI (reg/f:DI 77 virtual-stack-vars)
                (const_int -4 [0xfffffffffffffffc])) [1 y+0 S4 A32])) "test.c":22:13 -1
     (nil))

(insn 17 16 18 (set (reg:SI 93)
        (mem/c:SI (plus:DI (reg/f:DI 77 virtual-stack-vars)
                (const_int -28 [0xffffffffffffffe4])) [1 c+0 S4 A32])) "test.c":22:13 -1
     (nil))

(insn 18 17 0 (parallel [
            (set (reg:SI 82 [ _1 ])
                (plus:SI (reg:SI 92)
                    (reg:SI 93)))
            (clobber (reg:CC 17 flags))
        ]) "test.c":22:13 -1
     (expr_list:REG_EQUAL (plus:SI (mem/c:SI (plus:DI (reg/f:DI 77 virtual-stack-vars)
                    (const_int -4 [0xfffffffffffffffc])) [1 y+0 S4 A32])
            (mem/c:SI (plus:DI (reg/f:DI 77 virtual-stack-vars)
                    (const_int -28 [0xffffffffffffffe4])) [1 c+0 S4 A32]))
        (nil)))

;; _2 = f1 (7);

(insn 19 18 20 (set (reg:SI 5 di)
        (const_int 7 [0x7])) "test.c":22:16 -1
     (nil))

(call_insn 20 19 21 (set (reg:SI 0 ax)
        (call (mem:QI (symbol_ref:DI ("f1") [flags 0x3]  <function_decl 0x7f9514e17e00 f1>) [0 f1 S1 A8])
            (const_int 0 [0]))) "test.c":22:16 -1
     (nil)
    (expr_list:SI (use (reg:SI 5 di))
        (nil)))

(insn 21 20 0 (set (reg:SI 83 [ _2 ])
        (reg:SI 0 ax)) "test.c":22:16 -1
     (nil))

;; _9 = _1 + _2;

(insn 22 21 0 (parallel [
            (set (reg:SI 84 [ _9 ])
                (plus:SI (reg:SI 82 [ _1 ])
                    (reg:SI 83 [ _2 ])))
            (clobber (reg:CC 17 flags))
        ]) "test.c":22:15 -1
     (nil))

;; Generating RTL for gimple basic block 3

;; <L0>:

(code_label 23 22 24 8 (nil) [0 uses])

(note 24 23 0 NOTE_INSN_BASIC_BLOCK)

;; return _9;

(insn 25 24 26 (set (reg:SI 85 [ <retval> ])
        (reg:SI 84 [ _9 ])) "test.c":22:15 -1
     (nil))

(jump_insn 26 25 27 (set (pc)
        (label_ref 0)) "test.c":22:15 -1
     (nil))

(barrier 27 26 0)


try_optimize_cfg iteration 1

Merging block 3 into block 2...
Merged blocks 2 and 3.
Merged 2 and 3 without moving.
Merging block 4 into block 2...
Merged blocks 2 and 4.
Merged 2 and 4 without moving.
Removing jump 26.
Merging block 5 into block 2...
Merged blocks 2 and 5.
Merged 2 and 5 without moving.


try_optimize_cfg iteration 2

fix_loop_structure: fixing up loops for function


;;
;; Full RTL generated for this function:
;;
(note 1 0 6 NOTE_INSN_DELETED)
;; basic block 2, loop depth 0, maybe hot
;;  prev block 0, next block 1, flags: (NEW, REACHABLE, RTL)
;;  pred:       ENTRY (FALLTHRU)
(note 6 1 2 2 [bb 2] NOTE_INSN_BASIC_BLOCK)
(insn 2 6 3 2 (set (mem/c:SI (plus:DI (reg/f:DI 77 virtual-stack-vars)
                (const_int -20 [0xffffffffffffffec])) [1 a+0 S4 A32])
        (reg:SI 5 di [ a ])) "test.c":20:1 -1
     (nil))
(insn 3 2 4 2 (set (mem/c:SI (plus:DI (reg/f:DI 77 virtual-stack-vars)
                (const_int -24 [0xffffffffffffffe8])) [1 b+0 S4 A32])
        (reg:SI 4 si [ b ])) "test.c":20:1 -1
     (nil))
(insn 4 3 5 2 (set (mem/c:SI (plus:DI (reg/f:DI 77 virtual-stack-vars)
                (const_int -28 [0xffffffffffffffe4])) [1 c+0 S4 A32])
        (reg:SI 1 dx [ c ])) "test.c":20:1 -1
     (nil))
(note 5 4 12 2 NOTE_INSN_FUNCTION_BEG)
(insn 12 5 13 2 (set (reg:SI 90)
        (mem/c:SI (plus:DI (reg/f:DI 77 virtual-stack-vars)
                (const_int -20 [0xffffffffffffffec])) [1 a+0 S4 A32])) "test.c":21:9 -1
     (nil))
(insn 13 12 14 2 (set (reg:SI 91)
        (mem/c:SI (plus:DI (reg/f:DI 77 virtual-stack-vars)
                (const_int -24 [0xffffffffffffffe8])) [1 b+0 S4 A32])) "test.c":21:9 -1
     (nil))
(insn 14 13 15 2 (parallel [
            (set (reg:SI 89)
                (plus:SI (reg:SI 90)
                    (reg:SI 91)))
            (clobber (reg:CC 17 flags))
        ]) "test.c":21:9 -1
     (expr_list:REG_EQUAL (plus:SI (mem/c:SI (plus:DI (reg/f:DI 77 virtual-stack-vars)
                    (const_int -20 [0xffffffffffffffec])) [1 a+0 S4 A32])
            (mem/c:SI (plus:DI (reg/f:DI 77 virtual-stack-vars)
                    (const_int -24 [0xffffffffffffffe8])) [1 b+0 S4 A32]))
        (nil)))
(insn 15 14 16 2 (set (mem/c:SI (plus:DI (reg/f:DI 77 virtual-stack-vars)
                (const_int -4 [0xfffffffffffffffc])) [1 y+0 S4 A32])
        (reg:SI 89)) "test.c":21:9 -1
     (nil))
(insn 16 15 17 2 (set (reg:SI 92)
        (mem/c:SI (plus:DI (reg/f:DI 77 virtual-stack-vars)
                (const_int -4 [0xfffffffffffffffc])) [1 y+0 S4 A32])) "test.c":22:13 -1
     (nil))
(insn 17 16 18 2 (set (reg:SI 93)
        (mem/c:SI (plus:DI (reg/f:DI 77 virtual-stack-vars)
                (const_int -28 [0xffffffffffffffe4])) [1 c+0 S4 A32])) "test.c":22:13 -1
     (nil))
(insn 18 17 19 2 (parallel [
            (set (reg:SI 82 [ _1 ])
                (plus:SI (reg:SI 92)
                    (reg:SI 93)))
            (clobber (reg:CC 17 flags))
        ]) "test.c":22:13 -1
     (expr_list:REG_EQUAL (plus:SI (mem/c:SI (plus:DI (reg/f:DI 77 virtual-stack-vars)
                    (const_int -4 [0xfffffffffffffffc])) [1 y+0 S4 A32])
            (mem/c:SI (plus:DI (reg/f:DI 77 virtual-stack-vars)
                    (const_int -28 [0xffffffffffffffe4])) [1 c+0 S4 A32]))
        (nil)))
(insn 19 18 20 2 (set (reg:SI 5 di)
        (const_int 7 [0x7])) "test.c":22:16 -1
     (nil))
(call_insn 20 19 21 2 (set (reg:SI 0 ax)
        (call (mem:QI (symbol_ref:DI ("f1") [flags 0x3]  <function_decl 0x7f9514e17e00 f1>) [0 f1 S1 A8])
            (const_int 0 [0]))) "test.c":22:16 -1
     (nil)
    (expr_list:SI (use (reg:SI 5 di))
        (nil)))
(insn 21 20 22 2 (set (reg:SI 83 [ _2 ])
        (reg:SI 0 ax)) "test.c":22:16 -1
     (nil))
(insn 22 21 25 2 (parallel [
            (set (reg:SI 84 [ _9 ])
                (plus:SI (reg:SI 82 [ _1 ])
                    (reg:SI 83 [ _2 ])))
            (clobber (reg:CC 17 flags))
        ]) "test.c":22:15 -1
     (nil))
(insn 25 22 29 2 (set (reg:SI 85 [ <retval> ])
        (reg:SI 84 [ _9 ])) "test.c":22:15 -1
     (nil))
(insn 29 25 30 2 (set (reg/i:SI 0 ax)
        (reg:SI 85 [ <retval> ])) "test.c":23:1 -1
     (nil))
(insn 30 29 0 2 (use (reg/i:SI 0 ax)) "test.c":23:1 -1
     (nil))
;;  succ:       EXIT [always]  (FALLTHRU)


;; Function f4 (f4, funcdef_no=11, decl_uid=2875, cgraph_uid=12, symbol_order=11)

int f4 ()
{
  int D.2890;
  int _1;
  int _2;
  int _7;

;;   basic block 2, loop depth 0
;;    pred:       ENTRY
  _1 = f2 (2, 3);
  _2 = f1 (1);
  _7 = f3 (_2, _1, 4);
;;    succ:       3

;;   basic block 3, loop depth 0
;;    pred:       2
<L0>:
  return _7;
;;    succ:       EXIT

}



Partition map 

Partition 1 (_1 - 1 )
Partition 2 (_2 - 2 )
Partition 7 (_7 - 7 )
Partition 8 (_8(D) - 8 )


Coalescible Partition map 

Partition 0, base 0 (_8(D) - 8 )


Partition map 

Partition 0 (_8(D) - 8 )


Conflict graph:

After sorting:
Coalesce List:

Partition map 

Partition 0 (_8(D) - 8 )

After Coalescing:

Partition map 

Partition 0 (_1 - 1 )
Partition 1 (_2 - 2 )
Partition 2 (_7 - 7 )
Partition 3 (_8(D) - 8 )

int f4 ()
{
  int D.2890;
  int _1;
  int _2;
  int _7;
  int _8(D);

;;   basic block 2, loop depth 0
;;    pred:       ENTRY
  _1 = f2 (2, 3);
  _2 = f1 (1);
  _7 = f3 (_2, _1, 4);
;;    succ:       3

;;   basic block 3, loop depth 0
;;    pred:       2
<L0>:
  return _7;
;;    succ:       EXIT

}



;; Generating RTL for gimple basic block 2

;; _1 = f2 (2, 3);

(insn 5 4 6 (set (reg:SI 4 si)
        (const_int 3 [0x3])) "test.c":27:12 -1
     (nil))

(insn 6 5 7 (set (reg:SI 5 di)
        (const_int 2 [0x2])) "test.c":27:12 -1
     (nil))

(call_insn 7 6 8 (set (reg:SI 0 ax)
        (call (mem:QI (symbol_ref:DI ("f2") [flags 0x3]  <function_decl 0x7f9514e1c000 f2>) [0 f2 S1 A8])
            (const_int 0 [0]))) "test.c":27:12 -1
     (nil)
    (expr_list:SI (use (reg:SI 5 di))
        (expr_list:SI (use (reg:SI 4 si))
            (nil))))

(insn 8 7 0 (set (reg:SI 82 [ _1 ])
        (reg:SI 0 ax)) "test.c":27:12 -1
     (nil))

;; _2 = f1 (1);

(insn 9 8 10 (set (reg:SI 5 di)
        (const_int 1 [0x1])) "test.c":27:12 -1
     (nil))

(call_insn 10 9 11 (set (reg:SI 0 ax)
        (call (mem:QI (symbol_ref:DI ("f1") [flags 0x3]  <function_decl 0x7f9514e17e00 f1>) [0 f1 S1 A8])
            (const_int 0 [0]))) "test.c":27:12 -1
     (nil)
    (expr_list:SI (use (reg:SI 5 di))
        (nil)))

(insn 11 10 0 (set (reg:SI 83 [ _2 ])
        (reg:SI 0 ax)) "test.c":27:12 -1
     (nil))

;; _7 = f3 (_2, _1, 4);

(insn 12 11 13 (set (reg:SI 1 dx)
        (const_int 4 [0x4])) "test.c":27:12 -1
     (nil))

(insn 13 12 14 (set (reg:SI 4 si)
        (reg:SI 82 [ _1 ])) "test.c":27:12 -1
     (nil))

(insn 14 13 15 (set (reg:SI 5 di)
        (reg:SI 83 [ _2 ])) "test.c":27:12 -1
     (nil))

(call_insn 15 14 16 (set (reg:SI 0 ax)
        (call (mem:QI (symbol_ref:DI ("f3") [flags 0x3]  <function_decl 0x7f9514e1c200 f3>) [0 f3 S1 A8])
            (const_int 0 [0]))) "test.c":27:12 -1
     (nil)
    (expr_list:SI (use (reg:SI 5 di))
        (expr_list:SI (use (reg:SI 4 si))
            (expr_list:SI (use (reg:SI 1 dx))
                (nil)))))

(insn 16 15 0 (set (reg:SI 84 [ _7 ])
        (reg:SI 0 ax)) "test.c":27:12 -1
     (nil))

;; Generating RTL for gimple basic block 3

;; <L0>:

(code_label 17 16 18 10 (nil) [0 uses])

(note 18 17 0 NOTE_INSN_BASIC_BLOCK)

;; return _7;

(insn 19 18 20 (set (reg:SI 85 [ <retval> ])
        (reg:SI 84 [ _7 ])) "test.c":27:12 -1
     (nil))

(jump_insn 20 19 21 (set (pc)
        (label_ref 0)) "test.c":27:12 -1
     (nil))

(barrier 21 20 0)


try_optimize_cfg iteration 1

Merging block 3 into block 2...
Merged blocks 2 and 3.
Merged 2 and 3 without moving.
Merging block 4 into block 2...
Merged blocks 2 and 4.
Merged 2 and 4 without moving.
Removing jump 20.
Merging block 5 into block 2...
Merged blocks 2 and 5.
Merged 2 and 5 without moving.


try_optimize_cfg iteration 2

fix_loop_structure: fixing up loops for function


;;
;; Full RTL generated for this function:
;;
(note 1 0 3 NOTE_INSN_DELETED)
;; basic block 2, loop depth 0, maybe hot
;;  prev block 0, next block 1, flags: (NEW, REACHABLE, RTL)
;;  pred:       ENTRY (FALLTHRU)
(note 3 1 2 2 [bb 2] NOTE_INSN_BASIC_BLOCK)
(note 2 3 5 2 NOTE_INSN_FUNCTION_BEG)
(insn 5 2 6 2 (set (reg:SI 4 si)
        (const_int 3 [0x3])) "test.c":27:12 -1
     (nil))
(insn 6 5 7 2 (set (reg:SI 5 di)
        (const_int 2 [0x2])) "test.c":27:12 -1
     (nil))
(call_insn 7 6 8 2 (set (reg:SI 0 ax)
        (call (mem:QI (symbol_ref:DI ("f2") [flags 0x3]  <function_decl 0x7f9514e1c000 f2>) [0 f2 S1 A8])
            (const_int 0 [0]))) "test.c":27:12 -1
     (nil)
    (expr_list:SI (use (reg:SI 5 di))
        (expr_list:SI (use (reg:SI 4 si))
            (nil))))
(insn 8 7 9 2 (set (reg:SI 82 [ _1 ])
        (reg:SI 0 ax)) "test.c":27:12 -1
     (nil))
(insn 9 8 10 2 (set (reg:SI 5 di)
        (const_int 1 [0x1])) "test.c":27:12 -1
     (nil))
(call_insn 10 9 11 2 (set (reg:SI 0 ax)
        (call (mem:QI (symbol_ref:DI ("f1") [flags 0x3]  <function_decl 0x7f9514e17e00 f1>) [0 f1 S1 A8])
            (const_int 0 [0]))) "test.c":27:12 -1
     (nil)
    (expr_list:SI (use (reg:SI 5 di))
        (nil)))
(insn 11 10 12 2 (set (reg:SI 83 [ _2 ])
        (reg:SI 0 ax)) "test.c":27:12 -1
     (nil))
(insn 12 11 13 2 (set (reg:SI 1 dx)
        (const_int 4 [0x4])) "test.c":27:12 -1
     (nil))
(insn 13 12 14 2 (set (reg:SI 4 si)
        (reg:SI 82 [ _1 ])) "test.c":27:12 -1
     (nil))
(insn 14 13 15 2 (set (reg:SI 5 di)
        (reg:SI 83 [ _2 ])) "test.c":27:12 -1
     (nil))
(call_insn 15 14 16 2 (set (reg:SI 0 ax)
        (call (mem:QI (symbol_ref:DI ("f3") [flags 0x3]  <function_decl 0x7f9514e1c200 f3>) [0 f3 S1 A8])
            (const_int 0 [0]))) "test.c":27:12 -1
     (nil)
    (expr_list:SI (use (reg:SI 5 di))
        (expr_list:SI (use (reg:SI 4 si))
            (expr_list:SI (use (reg:SI 1 dx))
                (nil)))))
(insn 16 15 19 2 (set (reg:SI 84 [ _7 ])
        (reg:SI 0 ax)) "test.c":27:12 -1
     (nil))
(insn 19 16 23 2 (set (reg:SI 85 [ <retval> ])
        (reg:SI 84 [ _7 ])) "test.c":27:12 -1
     (nil))
(insn 23 19 24 2 (set (reg/i:SI 0 ax)
        (reg:SI 85 [ <retval> ])) "test.c":28:1 -1
     (nil))
(insn 24 23 0 2 (use (reg/i:SI 0 ax)) "test.c":28:1 -1
     (nil))
;;  succ:       EXIT [always]  (FALLTHRU)


;; Function main (main, funcdef_no=12, decl_uid=2879, cgraph_uid=13, symbol_order=12)

__attribute__((access ("^1[ ]", )))
int main (int argc, char * * argv)
{
  char * p;
  int v;
  int D.2894;
  int _1;
  int _10;
  int _11;

;;   basic block 2, loop depth 0
;;    pred:       ENTRY
  p_4 = malloc (1);
  p_5 = p_4 + 1;
  p_6 = p_5 + 1;
  *p_6 = 1;
  v_9 = f4 ();
  if (v_9 != 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]
;;    succ:       3
;;                4

;;   basic block 3, loop depth 0
;;    pred:       2
  _11 = v_9;
  // predicted unlikely by early return (on trees) predictor.
  goto <bb 5>; [INV]
;;    succ:       5

;;   basic block 4, loop depth 0
;;    pred:       2
  _10 = 0;
;;    succ:       5

;;   basic block 5, loop depth 0
;;    pred:       3
;;                4
  # _1 = PHI <_11(3), _10(4)>
<L2>:
  return _1;
;;    succ:       EXIT

}



Partition map 

Partition 1 (_1 - 1 )
Partition 4 (p_4 - 4 )
Partition 5 (p_5 - 5 )
Partition 6 (p_6 - 6 )
Partition 9 (v_9 - 9 )
Partition 10 (_10 - 10 )
Partition 11 (_11 - 11 )
Partition 12 (argc_12(D) - 12 )
Partition 13 (argv_13(D) - 13 )
Partition 14 (_14(D) - 14 )


Coalescible Partition map 

Partition 0, base 0 (_1 - 1 10 11 )
Partition 1, base 1 (p_4 - 4 5 6 )
Partition 6, base 2 (argc_12(D) - 12 )
Partition 7, base 3 (argv_13(D) - 13 )
Partition 8, base 4 (_14(D) - 14 )


Partition map 

Partition 0 (_1 - 1 )
Partition 1 (p_4 - 4 )
Partition 2 (p_5 - 5 )
Partition 3 (p_6 - 6 )
Partition 4 (_10 - 10 )
Partition 5 (_11 - 11 )
Partition 6 (argc_12(D) - 12 )
Partition 7 (argv_13(D) - 13 )
Partition 8 (_14(D) - 14 )


Conflict graph:

After sorting:
Sorted Coalesce list:
(2147483646, 0) p_4 <-> p_5
(2147483646, 0) p_4 <-> p_6
(10000, 0) _1 <-> _11
(10000, 0) _1 <-> _10

Partition map 

Partition 0 (_1 - 1 )
Partition 1 (p_4 - 4 )
Partition 2 (p_5 - 5 )
Partition 3 (p_6 - 6 )
Partition 4 (_10 - 10 )
Partition 5 (_11 - 11 )
Partition 6 (argc_12(D) - 12 )
Partition 7 (argv_13(D) - 13 )
Partition 8 (_14(D) - 14 )

Coalesce list: (4)p_4 & (5)p_5 [map: 1, 2] : Success -> 1
Coalesce list: (4)p_4 & (6)p_6 [map: 1, 3] : Success -> 1
Coalesce list: (1)_1 & (11)_11 [map: 0, 5] : Success -> 0
Coalesce list: (1)_1 & (10)_10 [map: 0, 4] : Success -> 0
After Coalescing:

Partition map 

Partition 0 (_1 - 1 10 11 )
Partition 1 (p_4 - 4 5 6 )
Partition 2 (v_9 - 9 )
Partition 3 (argc_12(D) - 12 )
Partition 4 (argv_13(D) - 13 )
Partition 5 (_14(D) - 14 )

__attribute__((access ("^1[ ]", )))
int main (int argc, char * * argv)
{
  char * p;
  int v;
  int D.2894;
  int _1;
  int _10;
  int _11;
  int _14(D);

;;   basic block 2, loop depth 0
;;    pred:       ENTRY
  p_4 = malloc (1);
  p_5 = p_4 + 1;
  p_6 = p_5 + 1;
  *p_6 = 1;
  v_9 = f4 ();
  if (v_9 != 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]
;;    succ:       3
;;                4

;;   basic block 3, loop depth 0
;;    pred:       2
  _11 = v_9;
  // predicted unlikely by early return (on trees) predictor.
  goto <bb 5>; [INV]
;;    succ:       5

;;   basic block 4, loop depth 0
;;    pred:       2
  _10 = 0;
;;    succ:       5

;;   basic block 5, loop depth 0
;;    pred:       3
;;                4
  # _1 = PHI <_11(3), _10(4)>
<L2>:
  return _1;
;;    succ:       EXIT

}



;; Generating RTL for gimple basic block 2

;; p_4 = malloc (1);

(insn 7 6 8 (set (reg:DI 5 di)
        (const_int 1 [0x1])) "test.c":33:10 -1
     (nil))

(call_insn 8 7 9 (set (reg:DI 0 ax)
        (call (mem:QI (symbol_ref:DI ("malloc") [flags 0x41]  <function_decl 0x7f9514d15800 malloc>) [0 __builtin_malloc S1 A8])
            (const_int 0 [0]))) "test.c":33:10 -1
     (expr_list:REG_EH_REGION (const_int 0 [0])
        (nil))
    (expr_list:DI (use (reg:DI 5 di))
        (nil)))

(insn 9 8 10 (set (reg/f:DI 84)
        (reg:DI 0 ax)) "test.c":33:10 -1
     (expr_list:REG_NOALIAS (reg/f:DI 84)
        (nil)))

(insn 10 9 0 (set (mem/f/c:DI (plus:DI (reg/f:DI 77 virtual-stack-vars)
                (const_int -8 [0xfffffffffffffff8])) [3 p+0 S8 A64])
        (reg/f:DI 84)) "test.c":33:10 -1
     (nil))

;; p_5 = p_4 + 1;

(insn 11 10 0 (parallel [
            (set (mem/f/c:DI (plus:DI (reg/f:DI 77 virtual-stack-vars)
                        (const_int -8 [0xfffffffffffffff8])) [3 p+0 S8 A64])
                (plus:DI (mem/f/c:DI (plus:DI (reg/f:DI 77 virtual-stack-vars)
                            (const_int -8 [0xfffffffffffffff8])) [3 p+0 S8 A64])
                    (const_int 1 [0x1])))
            (clobber (reg:CC 17 flags))
        ]) "test.c":34:3 -1
     (nil))

;; p_6 = p_5 + 1;

(insn 12 11 0 (parallel [
            (set (mem/f/c:DI (plus:DI (reg/f:DI 77 virtual-stack-vars)
                        (const_int -8 [0xfffffffffffffff8])) [3 p+0 S8 A64])
                (plus:DI (mem/f/c:DI (plus:DI (reg/f:DI 77 virtual-stack-vars)
                            (const_int -8 [0xfffffffffffffff8])) [3 p+0 S8 A64])
                    (const_int 1 [0x1])))
            (clobber (reg:CC 17 flags))
        ]) "test.c":35:3 -1
     (nil))

;; *p_6 = 1;

(insn 13 12 14 (set (reg/f:DI 85)
        (mem/f/c:DI (plus:DI (reg/f:DI 77 virtual-stack-vars)
                (const_int -8 [0xfffffffffffffff8])) [3 p+0 S8 A64])) "test.c":36:4 -1
     (nil))

(insn 14 13 0 (set (mem:QI (reg/f:DI 85) [0 *p_6+0 S1 A8])
        (const_int 1 [0x1])) "test.c":36:4 -1
     (nil))

;; v_9 = f4 ();

(call_insn 15 14 16 (set (reg:SI 0 ax)
        (call (mem:QI (symbol_ref:DI ("f4") [flags 0x3]  <function_decl 0x7f9514e1c400 f4>) [0 f4 S1 A8])
            (const_int 0 [0]))) "test.c":37:4 -1
     (nil)
    (nil))

(insn 16 15 17 (set (reg:SI 86)
        (reg:SI 0 ax)) "test.c":37:4 -1
     (nil))

(insn 17 16 0 (set (mem/c:SI (plus:DI (reg/f:DI 77 virtual-stack-vars)
                (const_int -12 [0xfffffffffffffff4])) [1 v+0 S4 A32])
        (reg:SI 86)) "test.c":37:4 -1
     (nil))

;; if (v_9 != 0)

(insn 18 17 19 (set (reg:CCZ 17 flags)
        (compare:CCZ (mem/c:SI (plus:DI (reg/f:DI 77 virtual-stack-vars)
                    (const_int -12 [0xfffffffffffffff4])) [1 v+0 S4 A32])
            (const_int 0 [0]))) "test.c":38:4 -1
     (nil))

(jump_insn 19 18 0 (set (pc)
        (if_then_else (eq (reg:CCZ 17 flags)
                (const_int 0 [0]))
            (label_ref 0)
            (pc))) "test.c":38:4 -1
     (nil))

;; Generating RTL for gimple basic block 3

;; _11 = v_9;

(insn 21 20 0 (set (reg:SI 82 [ _1 ])
        (mem/c:SI (plus:DI (reg/f:DI 77 virtual-stack-vars)
                (const_int -12 [0xfffffffffffffff4])) [1 v+0 S4 A32])) "test.c":39:9 -1
     (nil))

;; // predicted unlikely by early return (on trees) predictor.

(nil)

;; Generating RTL for gimple basic block 4

;; 

(code_label 24 23 25 12 (nil) [0 uses])

(note 25 24 0 NOTE_INSN_BASIC_BLOCK)

;; _10 = 0;

(insn 26 25 0 (set (reg:SI 82 [ _1 ])
        (const_int 0 [0])) "<built-in>":0:0 -1
     (nil))

;; Generating RTL for gimple basic block 5

;; <L2>:

(code_label 27 26 28 13 (nil) [0 uses])

(note 28 27 0 NOTE_INSN_BASIC_BLOCK)

;; return _1;

(insn 29 28 30 (set (reg:SI 83 [ <retval> ])
        (reg:SI 82 [ _1 ])) "test.c":41:1 -1
     (nil))

(jump_insn 30 29 31 (set (pc)
        (label_ref 0)) "test.c":41:1 -1
     (nil))

(barrier 31 30 0)


try_optimize_cfg iteration 1

Merging block 3 into block 2...
Merged blocks 2 and 3.
Merged 2 and 3 without moving.
Removing jump 30.
Merging block 7 into block 6...
Merged blocks 6 and 7.
Merged 6 and 7 without moving.


try_optimize_cfg iteration 2

fix_loop_structure: fixing up loops for function


;;
;; Full RTL generated for this function:
;;
(note 1 0 5 NOTE_INSN_DELETED)
;; basic block 2, loop depth 0, maybe hot
;;  prev block 0, next block 4, flags: (NEW, REACHABLE, RTL)
;;  pred:       ENTRY (FALLTHRU)
(note 5 1 2 2 [bb 2] NOTE_INSN_BASIC_BLOCK)
(insn 2 5 3 2 (set (mem/c:SI (plus:DI (reg/f:DI 77 virtual-stack-vars)
                (const_int -20 [0xffffffffffffffec])) [1 argc+0 S4 A32])
        (reg:SI 5 di [ argc ])) "test.c":31:1 -1
     (nil))
(insn 3 2 4 2 (set (mem/f/c:DI (plus:DI (reg/f:DI 77 virtual-stack-vars)
                (const_int -32 [0xffffffffffffffe0])) [4 argv+0 S8 A64])
        (reg:DI 4 si [ argv ])) "test.c":31:1 -1
     (nil))
(note 4 3 7 2 NOTE_INSN_FUNCTION_BEG)
(insn 7 4 8 2 (set (reg:DI 5 di)
        (const_int 1 [0x1])) "test.c":33:10 -1
     (nil))
(call_insn 8 7 9 2 (set (reg:DI 0 ax)
        (call (mem:QI (symbol_ref:DI ("malloc") [flags 0x41]  <function_decl 0x7f9514d15800 malloc>) [0 __builtin_malloc S1 A8])
            (const_int 0 [0]))) "test.c":33:10 -1
     (expr_list:REG_EH_REGION (const_int 0 [0])
        (nil))
    (expr_list:DI (use (reg:DI 5 di))
        (nil)))
(insn 9 8 10 2 (set (reg/f:DI 84)
        (reg:DI 0 ax)) "test.c":33:10 -1
     (expr_list:REG_NOALIAS (reg/f:DI 84)
        (nil)))
(insn 10 9 11 2 (set (mem/f/c:DI (plus:DI (reg/f:DI 77 virtual-stack-vars)
                (const_int -8 [0xfffffffffffffff8])) [3 p+0 S8 A64])
        (reg/f:DI 84)) "test.c":33:10 -1
     (nil))
(insn 11 10 12 2 (parallel [
            (set (mem/f/c:DI (plus:DI (reg/f:DI 77 virtual-stack-vars)
                        (const_int -8 [0xfffffffffffffff8])) [3 p+0 S8 A64])
                (plus:DI (mem/f/c:DI (plus:DI (reg/f:DI 77 virtual-stack-vars)
                            (const_int -8 [0xfffffffffffffff8])) [3 p+0 S8 A64])
                    (const_int 1 [0x1])))
            (clobber (reg:CC 17 flags))
        ]) "test.c":34:3 -1
     (nil))
(insn 12 11 13 2 (parallel [
            (set (mem/f/c:DI (plus:DI (reg/f:DI 77 virtual-stack-vars)
                        (const_int -8 [0xfffffffffffffff8])) [3 p+0 S8 A64])
                (plus:DI (mem/f/c:DI (plus:DI (reg/f:DI 77 virtual-stack-vars)
                            (const_int -8 [0xfffffffffffffff8])) [3 p+0 S8 A64])
                    (const_int 1 [0x1])))
            (clobber (reg:CC 17 flags))
        ]) "test.c":35:3 -1
     (nil))
(insn 13 12 14 2 (set (reg/f:DI 85)
        (mem/f/c:DI (plus:DI (reg/f:DI 77 virtual-stack-vars)
                (const_int -8 [0xfffffffffffffff8])) [3 p+0 S8 A64])) "test.c":36:4 -1
     (nil))
(insn 14 13 15 2 (set (mem:QI (reg/f:DI 85) [0 *p_6+0 S1 A8])
        (const_int 1 [0x1])) "test.c":36:4 -1
     (nil))
(call_insn 15 14 16 2 (set (reg:SI 0 ax)
        (call (mem:QI (symbol_ref:DI ("f4") [flags 0x3]  <function_decl 0x7f9514e1c400 f4>) [0 f4 S1 A8])
            (const_int 0 [0]))) "test.c":37:4 -1
     (nil)
    (nil))
(insn 16 15 17 2 (set (reg:SI 86)
        (reg:SI 0 ax)) "test.c":37:4 -1
     (nil))
(insn 17 16 18 2 (set (mem/c:SI (plus:DI (reg/f:DI 77 virtual-stack-vars)
                (const_int -12 [0xfffffffffffffff4])) [1 v+0 S4 A32])
        (reg:SI 86)) "test.c":37:4 -1
     (nil))
(insn 18 17 19 2 (set (reg:CCZ 17 flags)
        (compare:CCZ (mem/c:SI (plus:DI (reg/f:DI 77 virtual-stack-vars)
                    (const_int -12 [0xfffffffffffffff4])) [1 v+0 S4 A32])
            (const_int 0 [0]))) "test.c":38:4 -1
     (nil))
(jump_insn 19 18 20 2 (set (pc)
        (if_then_else (eq (reg:CCZ 17 flags)
                (const_int 0 [0]))
            (label_ref 24)
            (pc))) "test.c":38:4 -1
     (nil)
 -> 24)
;;  succ:       4 (FALLTHRU)
;;              5

;; basic block 4, loop depth 0, maybe hot
;;  prev block 2, next block 5, flags: (NEW, REACHABLE, RTL)
;;  pred:       2 (FALLTHRU)
(note 20 19 21 4 [bb 4] NOTE_INSN_BASIC_BLOCK)
(insn 21 20 22 4 (set (reg:SI 82 [ _1 ])
        (mem/c:SI (plus:DI (reg/f:DI 77 virtual-stack-vars)
                (const_int -12 [0xfffffffffffffff4])) [1 v+0 S4 A32])) "test.c":39:9 -1
     (nil))
(jump_insn 22 21 23 4 (set (pc)
        (label_ref 27)) "test.c":39:9 -1
     (nil)
 -> 27)
;;  succ:       6

(barrier 23 22 24)
;; basic block 5, loop depth 0, maybe hot
;;  prev block 4, next block 6, flags: (NEW, REACHABLE, RTL)
;;  pred:       2
(code_label 24 23 25 5 12 (nil) [1 uses])
(note 25 24 26 5 [bb 5] NOTE_INSN_BASIC_BLOCK)
(insn 26 25 27 5 (set (reg:SI 82 [ _1 ])
        (const_int 0 [0])) "<built-in>":0:0 -1
     (nil))
;;  succ:       6 (FALLTHRU)

;; basic block 6, loop depth 0, maybe hot
;;  prev block 5, next block 1, flags: (NEW, REACHABLE, RTL)
;;  pred:       4
;;              5 (FALLTHRU)
(code_label 27 26 28 6 13 (nil) [1 uses])
(note 28 27 29 6 [bb 6] NOTE_INSN_BASIC_BLOCK)
(insn 29 28 33 6 (set (reg:SI 83 [ <retval> ])
        (reg:SI 82 [ _1 ])) "test.c":41:1 -1
     (nil))
(insn 33 29 34 6 (set (reg/i:SI 0 ax)
        (reg:SI 83 [ <retval> ])) "test.c":41:1 -1
     (nil))
(insn 34 33 0 6 (use (reg/i:SI 0 ax)) "test.c":41:1 -1
     (nil))
;;  succ:       EXIT [always]  (FALLTHRU)

